package com.internetCafes.spms.web.sys.service;

import com.internetCafes.spms.core.model.pageModel.DataGrid;
import com.internetCafes.spms.web.sys.entity.dto.profession.CertificateProfessionalSaveDTO;
import com.internetCafes.spms.web.sys.entity.dto.profession.CertificateProfessionalUpdateDTO;
import com.internetCafes.spms.web.sys.entity.vo.profession.ProfessionalsOrCategoriesVO;

import java.util.List;
import java.util.Map;

/**
 * 证书专业相关
 *
 * @author Zj
 */
public interface CertificateProfessionalService {

    /**
     * 证书专业删除
     *
     * @param confId 专业证书id
     * @author Zj
     */
    void delete(Long confId);

    /**
     * 证书专业更新
     *
     * @param dto 请求参数
     * @author Zj
     */
    void update(CertificateProfessionalUpdateDTO dto);

    /**
     * 获取证书对应code的类别
     *
     * @param code code编码
     * @return 类别列表
     * @author Zj
     */
    List<ProfessionalsOrCategoriesVO> categories(String code);

    /**
     * 获取证书所有分类
     *
     * @return 分类列表
     * @author Zj
     */
    List<ProfessionalsOrCategoriesVO> types();

    /**
     * 专业证书新增
     *
     * @param dto 新增参数
     * @author Zj
     */
    void save(CertificateProfessionalSaveDTO dto);

    /**
     * 分页获取专业数据
     *
     * @param params   检索参数
     * @param pageNo   当前页
     * @param pageSize 页码大小
     * @return 专业数据分页信息
     * @author Zj
     */
    DataGrid dataGrid(Map<String, Object> params, int pageNo, int pageSize);

}
